A virtual machine (VM) environment where a physical resource is time-shared among a plurality of independently operating processor executable VMs is commonly used today. Each VM may function as a self-contained platform, running its own operating system (OS) and computer executable, application software. The computer executable instructions running in a VM may be collectively referred to herein as “guest software.” In addition, resources available within the VM may be referred to herein as “guest resources”. A computing system (may be referred to as a host system) typically presents VMs to clients.
The guest software expects to operate as if it were running on a dedicated computer rather than in a VM. That is, the guest software expects to control various events and have access to hardware resources on a physical computing system, which may be referred to herein as “host hardware resources”. The host hardware resource may include a local caching device, one or more processors, resources resident on the processors (e.g., control registers, and others), memory (instructions residing in memory, e.g., descriptor tables), and other resources (e.g., input/output devices, host attached local storage, network attached storage or other like storage) that reside in a physical machine or are directly coupled to the host platform.
Typically, storage space is presented to a virtual machine as a virtual hard disk (VHD) file by a virtualization layer. A storage drive (for example, C:\) is presented to a user via a user interface within a virtual machine context. The user can use the storage drive to access storage space to read and write information.
Host systems today use locally attached storage device as a cache. Typically, the local caching device is a solid state storage device (SSD) that is attached to the host system. A VM machine is typically presented with a logical storage object (logical storage number (LUN)) to use the local caching device as a cache for read and write operations.
VMs may be migrated from a source host platform to a destination platform. When a VM is migrated, the local caching device at the destination platform is different from the source platform. The contents of the caching device at the destination are typically not available immediately after migration. Conventional processor executable modules that enable the use of the local caching device may not be able to detect VM migration. It is desirable to efficiently detect VM migration and enable the continued use of local caching devices.